apply_boundary_conditions Interface

public interface apply_boundary_conditions

Contents


Module Procedures

private function apply_boundary_conditions_mtx(gdof, x) result(rst)

Applies boundary conditions to a matrix by removal of the appropriate rows and columns.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout), dimension(:) :: gdof

An array of the global degrees of freedom to restrain. The array is sorted into ascending order on output.

real(kind=real64), intent(in), dimension(:,:) :: x

The matrix to constrain.

Return Value real(kind=real64), allocatable, dimension(:,:)

The altered matrix.

private function apply_boundary_conditions_vec(gdof, x) result(rst)

Applies boundary conditions to a vector by removal of the appropriate items.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout), dimension(:) :: gdof

An array of the global degrees of freedom to restrain. The array is sorted into ascending order on output.

real(kind=real64), intent(in), dimension(:) :: x

The vector to constrain.

Return Value real(kind=real64), allocatable, dimension(:)

The altered vector.

private function apply_boundary_conditions_csr(gdof, x) result(rst)

Applies boundary conditions to a CSR-format sparse matrix by removal of the appropriate rows and columns.

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout), dimension(:) :: gdof

An array of the global degrees of freedom to restrain. The array is sorted into ascending order on output.

type(csr_matrix), intent(in) :: x

The matrix to constrain.

Return Value type(csr_matrix)

The altered matrix.